Automation systems are widely used to automatically control all kinds of field components, such as for example valves, pumps, or flow controllers, which are used to operate process plants. Today's process control system control logic is usually engineered using one of the five languages of IEC61131-3. IEC 61131-3 is the third part of the open international standard IEC 61131 for programmable logic controllers and was first published in December 1993 by the IEC. The current third edition was published in February 2013. Part 3 of IEC 61131 deals with programming languages and defines two graphical and two textual PLC programming language standards. The graphical programming languages are: Ladder diagram (LO), and Function block diagram (FBD). The textual programming languages are Structured text (ST), and Instruction list (IL). The fifth language is Sequential function chart (SFC), which has elements to organize programs for sequential and parallel control processing. A further language, Continuous Function Chart (CFC), is an extension to the IEC 61131-3 standard, which provides free positioning of graphic elements. That is, the languages defined in IEC 61131-3 either base on graphical engineering like function block diagrams, sequential functions charts, etc., or on simplified textual languages instruction list or structured text. In some cases, specific flavors of the five languages are used. Alternatively, ISO C may be used. ISO C is one of the successive standards for the C programming language published by the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
With the increasing complexity of control solutions in automation systems, those languages are not fully appropriate anymore for the engineering and configuration of automation systems. The IEC 61131-3 standard languages do not match well with object oriented systems used nowadays in automation system solutions and need to be changed within the control engineering tools in order to be usable for such object oriented systems. For example the ABB System 800xA is such an object oriented control system, mostly used in process industries where the standard languages are not appropriate for the engineering and the configuration of the automation system because the traditional method to generate the control logic for the complex systems is error prone and may result in a malfunctioning of the automation system.